package com.example.gymlearning.service;

import com.example.gymlearning.dto.KnowledgePackageDTO;
import com.github.pagehelper.Page;

import java.util.List;

public interface KnowledgePackageService {

    List<KnowledgePackageDTO> getAllPackagesWithStats();

    List<KnowledgePackageDTO> getPackagesByModule(Long moduleId);

    KnowledgePackageDTO getPackageById(Long id);

    // 分页方法
    Page<KnowledgePackageDTO> getAllPackagesWithStats(int page, int size);

    Page<KnowledgePackageDTO> getPackagesByModule(Long moduleId, int page, int size);

    Long getNextPackageId(Long currentPackageId);

    /**
     * 通过ID获取知识包（与getPackageById功能相同）
     */
    KnowledgePackageDTO getById(Long id);

    // 新增：根据分类ID获取知识包
    Page<KnowledgePackageDTO> getPackagesByClass(Long classId, int page, int size);

    // 新增：根据知识包ID获取单个知识包
    Page<KnowledgePackageDTO> getPackageById(Long packageId, int page, int size);

    Page<KnowledgePackageDTO> getPackagesByModuleWithPagination(Long moduleId, int page, int size);

    long countByModule(Long moduleId);
}